<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!--

    Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->




<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:f="http://java.sun.com/jsf/core">
    <body>
        <f:view>
            <h2>Dynamic Component Tests</h2>
            <ul>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/moveComponent.xhtml">ActionEvent Processing: Move a component around</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/moveComponent1.xhtml">PreRenderViewEvent Processing: Move a component</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/toggle.xhtml">PreRenderViewEvent Processing: Toggle components</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/removeComponent.xhtml">PreRenderViewEvent Processing: Remove a component</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/add.xhtml">PreRenderViewEvent Processing: Creates/adds a component</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/stable.xhtml">PreRenderViewEvent Processing: Creates/adds three input components. Tests for ordering stability after postback</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/table.xhtml">PreRenderViewEvent Processing: Creates/adds a datatable component, followed by the creation/addition of a component to the datatable</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/recursive.xhtml">PreRenderViewEvent Processing: Creates/adds a component, followed by the creation/addition of a nested component</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/add1.xhtml">PreRenderViewEvent / PostRestoreStateEvent Processing: Creates/adds components</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/add2.xhtml">PreRenderViewEvent Processing: Creates/adds a component to an existing component.  Each subsequent action appends a new component.</a></li>
                <br/>
                <li><a href="#{facesContext.externalContext.requestContextPath}/faces/removeReaddMove.xhtml">PreRenderViewEvent Processing: Removes, adds, removes moves</a></li>
            </ul>
        </f:view>
    </body>
</html>
